/**
 * Class containing static access to available loggers
 *
 * @created Feb 3, 2007
 * @author jprieur
 */
package utils; 

import java.util.logging.Logger;

public class Debug
{
    /** Logger used to log messages in the brain section of simmobil */
    private static Logger _brain_logger = Logger.getLogger("brain");
    
    /** Logger used to log messages in the gui section of simmobil */
    private static Logger _gui_logger = Logger.getLogger("gui");

    /** Logger used to debug */
    private static Logger _debug_logger = Logger.getLogger("debug");

    /** Logger used to give warnings to the user about his configuration */
    private static Logger _config_logger = Logger.getLogger("config");

    /** 
     * Array containing available loggers, add a reference to any
     * new logger in it 
     */ 
    private static Logger[] _loggers = { _brain_logger, 
					 _gui_logger,
					 _debug_logger,
					 _config_logger};

    /**
     * Access method to the logger used to log messages in the brain
     * section of simmobil
     * @return the brain logger
     */
    public static Logger getBrainLogger()
    {
	return _brain_logger;
    }

    /**
     * Access method to the logger used to log messages in the gui
     * section of simmobil
     * @return the gui logger
     */
    public static Logger getGUILogger()
    {
	return _gui_logger;
    }

    /**
     * Access method to the logger used to debug
     * @return the gui logger
     */
    public static Logger getDebugLogger()
    {
	return _debug_logger;
    }


    /**
     * Access method to the logger used for configuration
     * @return the gui logger
     */
    public static Logger getConfigLogger()
    {
	return _config_logger;
    }

    /**
     * Access method to get all the available loggers
     * @return an array containing available loggers
     */
    public static Logger[] getLoggers()
    {
	return _loggers;
    }
    
}